'use strict'

// 引入所需要的模块
let Koa = require("koa");
let bodyparser = require('koa-bodyparser');
let server = require('koa-static');

//初始化一个web服务器实例
let app = new Koa();

// 引入自动注册的路由模块
let controllers = require('./controllers');
let templating = require('./templating');
let session = require('./session')
//引入model模块，待执行要生成的表
let model = require('./models');

//注册自行包装的koa-session模块
app.use(session(app));
// 注册中间件，注意注册顺序，先行注册bodyParser，再行注册路由
app.use(bodyparser());
app.use(templating);
app.use(server(__dirname));
app.use(controllers());

// 初始化数据，如果想重新生成表，把// await model.sync();打开
(async()=>{
    console.log('正在初始化数据...');
    //重建所需的表
    // await model.sync();
})();

//启动监听端口，打印服务器信息
let port = 3010;
app.listen(port,()=>{
    console.log(`http://localhost:${port}`);
})

